Media distributed by content providers to content consumers can be encoded using a variety of video compression standards that facilitate the distribution of the content across a distribution channel. Well know compression standards include H.264/MPEG-4, published by the ITU-T Video Coding Experts Group (VCEG) together with the ISO/IEC JTC1 Moving Picture Experts Group (MPEG), and the newer High Efficiency Video Coding (HEVC) standard, MPEG-H Part 2, developed by MPEG and VCEG, both of which are herein incorporated by reference. Video compression or video encoding involves compressing the amount of information used to describe the frames of video in a video sequence in order to reduce the consumption of network resources that are utilized when distributing content via a network. The reduced size also facilitates the distribution of content on non-volatile storage mediums such as CD-ROMs and flash-drives.
Media playback devices can utilize video decoders to decode encoded video for playback. Video can be encoded using predetermined encoding profiles. Typically, playback devices utilize decoders that are capable of playing back video encoded using one or more profiles. A particular profile may specify parameters and limits for various video settings, including picture resolution (e.g., 720p, 1080p, 4 k etc.), frame rate (i.e., 24, 30, 48, 60 frames per second, etc.), and bitrate (e.g., 12 Mbps, 40 Mbps, etc.).
Encoded media is typically stored in one or more container files. The most commonly used media container formats are the MP4 container format specified in MPEG-4 Part 14 (i.e., ISO/IEC Standard 14496-14) and the MPEG transport stream (TS) container specified in MPEG-2 Part 1 (i.e., ISO/IEC Standard 13818-1). The Matroska container is a media container developed as an open standard project by the Matroska non-profit organization of Aussonne, France. The Matroska container is based upon Extensible Binary Markup Language (EBML), which is a binary derivative of the Extensible Markup Language (XML). Decoding of the Matroska container is supported by many consumer electronics (CE) devices. The DivX Plus file format developed by DivX, LLC of San Diego, Calif. utilizes an extension of the Matroska container format (i.e., is based upon the Matroska container format, but includes elements that are not specified within the Matroska format).
Furthermore, encoded video can be distributed to devices through different mechanisms, including downloading from a server for storage and future playback on the device, streaming the encoded video during playback on the device, and retrieving the encoded video from one or more files stored on a CD-ROM, flash drive, or other non-volatile storage medium, and various other storage and distribution mechanisms. Streaming solutions typically utilize either Hypertext Transfer Protocol (HTTP), published by the Internet Engineering Task Force and the World Wide Web Consortium as RFC 2615, or Real Time Streaming Protocol (RTSP), published by the Internet Engineering Task Force as RFC 2326, to stream media between a server and a playback device. HTTP is a stateless protocol that enables a playback device to request a byte range within a file. HTTP is described as stateless, because the server is not required to record information concerning the state of the playback device requesting information or the byte ranges requested by the playback device in order to respond to requests received from the playback device. RTSP is a network control protocol used to control streaming media servers. Playback devices issue control commands, such as “play” and “pause”, to the server streaming the media to control the playback of media files. When RTSP is utilized, the media server records the state of each client device and determines the media to stream based upon the instructions received from the client devices and the client's state. Thus, content providers utilize different distribution protocols for each of the different mechanisms (i.e., download vs. streaming) for distributing video files to different devices.